package com.zzx.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 用户表
 *
 * @TableName t_wx_user
 */
@TableName(value = "t_user")
@Data
public class TUser extends BaseEntity implements Serializable {
    /**
     * 用户ID
     */
    @TableId
    @ApiModelProperty("用户ID")
    private Long userId;

    /**
     * 微信小程序openID
     */
    @TableField("open_id")
    @ApiModelProperty("微信小程序openID")
    private String openId;
    /**
     * 微信小程序session_key
     */
    @TableField("session_key")
    @ApiModelProperty("微信小程序session_key")
    private String sessionKey;

    /**
     * 微信开放平台unionID
     */
    @TableField("union_id")
    @ApiModelProperty("微信开放平台unionID")
    private String unionId;

    /**
     * 昵称
     */
    @TableField("nick_name")
    @ApiModelProperty("昵称")
    private String nickName;

    /**
     * 性别 0未知 1男 2女
     */
    @TableField("gender")
    @ApiModelProperty("性别 0未知 1男 2女")
    private Integer gender;

    /**
     * 头像URL
     */
    @TableField("avatar_url")
    @ApiModelProperty("头像URL")
    private String avatarUrl;

    /**
     * 国家
     */
    @TableField("country")
    @ApiModelProperty("国家")
    private String country;

    /**
     * 省份
     */
    @TableField("province")
    @ApiModelProperty("省份")
    private String province;

    /**
     * 城市
     */
    @TableField("city")
    @ApiModelProperty("城市")
    private String city;

    /**
     * 员工名称
     */
    @TableField("user_name")
    @ApiModelProperty("员工名称")
    private String userName;

    /**
     * 工号
     */
    @TableField("user_num")
    @ApiModelProperty("工号")
    private String userNum;

    /**
     * 员工职务
     */
    @TableField("user_zw")
    @ApiModelProperty("员工职务")
    private String userZw;

    /**
     * 员工职务描述
     */
    @TableField("user_zw_desc")
    @ApiModelProperty("员工职务描述")
    private String userZwDesc;

    /**
     * 手机号
     */
    @TableField("user_phone")
    @ApiModelProperty("手机号")
    private String userPhone;

    /**
     * 身份证
     */
    @TableField("user_id_card")
    @ApiModelProperty("身份证")
    private String userIdCard;

    /**
     * 所属分组
     */
    @TableField("user_group_id")
    @ApiModelProperty("所属分组")
    private String userGroupId;

    /**
     * 工资开始日期
     */
    @TableField("user_sal_start_date")
    @ApiModelProperty("工资开始日期")
    private Date userSalStartDate;

    /**
     * 最新入职时间
     */
    @TableField("user_join_start_date")
    @ApiModelProperty("最新入职时间")
    private LocalDateTime userJoinStartDate;

    /**
     * 角色（super_admin、admin、normal）
     */
    @ApiModelProperty("角色（super_admin、admin、normal）")
    @TableField("role")
    private String role;


    /**
     * 是否平台用户（0平台用户 1客户用户）
     */
    @ApiModelProperty("0平台用户 1客户用户")
    @TableField("user_category")
    private Integer userCategory;

    @TableField(exist = false)
    @JsonProperty("tCompany")
    private TCompany tCompany;

    @TableField(exist = false)
    private String companyName;
}
